description |
Performance analysis and functionality testing are major parts of
developing distributed software systems. Since the number of
communicating software instances heavily influences the behavior of
distributed applications and communication protocols, evaluation
scenarios have to consider a large number of nodes. Network
emulation provides an infrastructure for running these experiments
using real prototype implementations in a controllable and realistic
environment. Large-scale experiments, however, have a high resource
consumption which often exceeds available physical testbed
resources. Time dilation allows for reducing the resource demands of
a scenario at the expense of the experiment's runtime. However,
current approaches only consider a constant time dilation factor,
which wastes a lot of resources in case of scenarios with varying
load.
We propose a framework for adaptive time virtualization that
significantly reduces the runtime of experiments by improving
resource utilization in network emulation testbeds. In this
framework, resource demands are monitored and the time dilation
factor is dynamically adapted to the required level. Our evaluation
shows that adaptive virtual time in combination with our lightweight
node virtualization architecture allows us to increase the possible
scenario sizes by more than an order of magnitude and, at the same
time, ensure unbiased emulation results. This represents an
important contribution to making network emulation systems highly
scalable.
|